/**
 * 
 */
package com.gome.axwl.aoc.service.feign;

import com.gome.axwl.aoc.common.constants.FeignServiceName;
import com.gome.axwl.aoc.common.constants.MasterDataReqMapConstant;
import com.gome.axwl.aoc.common.constants.PmsReqMapConstant;
import com.gome.axwl.aoc.service.feign.fallback.MasterDataFeignFallBack;
import com.gome.axwl.aoc.service.feign.fallback.PmsFeignFallBack;
import com.gome.commons.core.ResultData;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

/**   
*    
* 项目名称：gome.aoc
* 类名称：PmsFeignClient
* 类描述：   
* 创建人：chengh
* 创建时间：2018年4月25日10:07:42
* @version        
*/
@FeignClient(value = FeignServiceName.GATE_WAY+FeignServiceName.PMS, fallback = PmsFeignFallBack.class)
public interface PmsFeignClient {

	/**
	 * 获取用户菜单
	 * @param appKey
	 * @param userId
	 * @return
	 */
	@RequestMapping(method = RequestMethod.POST, value =PmsReqMapConstant.queryResourceByUserAndRole)
	ResultData queryResourceByUserAndRole(@RequestParam("appKey")String appKey, @RequestParam("userId") String userId);


	/**
	 * 判断用户权限
	 * @param accountNo
	 * @return
	 */
	@RequestMapping(method = RequestMethod.POST, value =PmsReqMapConstant.isAuditUser)
	ResultData isAuditUser(@RequestParam("accountNo")String accountNo);

	/**
	 * 拉取权限列表
	 * @param accountNo
	 * @param account
	 * @param invitationCode
	 * @return
	 */
	@RequestMapping(method = RequestMethod.POST, value =PmsReqMapConstant.getAuditUserList)
	ResultData getAuditUserList(@RequestParam("accountNo")String accountNo, @RequestParam("account")String account, @RequestParam("invitationCode")String invitationCode);

}
